/*
 * @Author : Genustin
 * @Date   : 2012-05-31
 * 填词
 * 告知一个填满字母的表格，和要找的单词，单词不能重复使用同一格子(输入保证能找到解)
 * 求解，去除找到的单词后，表格中剩余的字母
 */
#include <iostream>
#include <cstring>
#include <string>
#include <cstdio>
using namespace std;

int main()
{
	int n, m, p;
	cin >> n >> m >> p;
	// 因为肯定有解，通过记录26个字母输入和删去的次数，确定最后剩下什么单词
	int list[26];
	char row[m];
	string word;
	const char* cword;
	for (int i = 0; i < 26; ++i)
		list[i] = 0;

	for (int i = 0; i < n; ++i)
	{
		cin >> row;
		for (int j = 0; j < m; ++j) {
			++list[row[j]-'A'];
		}
	}
	for (int i = 0; i < p; ++i)
	{
		cin >> word;
		cword = word.c_str();
		for (int j = 0; j < strlen(cword); ++j) {
			--list[cword[j]-'A'];
		}
	}

	for (int i = 0; i < 26; ++i)
	{
		if (list[i] > 0) {
			for (int j = 0; j < list[i]; ++j)
				printf("%c", i + 'A');
		}
	}
	printf("\n");
	return 0;
}
